package com.zhang.mapper;

import com.github.pagehelper.PageInfo;
import com.zhang.pojo.ProductBean;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDate;
import java.util.List;

/**
 * 产品业务接口
 */
public interface IProductMapper {
    /**
     * 动态条件查询，通过商品名、起始日期、结束日期查询，并统计已售数
     * @param status 商品状态
     * @param name 商品名
     * @param start 起始时间
     * @param end 结束日期
     * @return 商品集合
     */
    List<ProductBean> findByItem(@Param("name") String name,
                                 @Param("status") String status,
                                 @Param("start") LocalDate start,
                                 @Param("end") LocalDate end);

    /**
     * 通过商品id查询商品，统计已售数量
     * @param id 商品id
     * @return 商品对象
     */
    ProductBean findById(int id);

    /**
     * 添加商品
     * @param productBean 添加商品对象
     */
    void add(ProductBean productBean);

    /**
     * 动态条件修改
     * @param productId 商品id
     * @param status 状态
     * @param price 新单价
     */
    void update(@Param("productId") int productId,
                @Param("status") String status,
                @Param("price") Integer price);


}
